<?php
/**
 * ***************************************CHECKSETUP************************************************
 * Prend en input un id de client
 * Check en base de données les licences du client
 * Retourne Json avec:
 * le serial de connection
 * un array avec les id des différentes licences
 * la teletransmission: inutile
 * un array contenant la date d'expiration de la licence du compte
 * ***************************************NOTE********************************************************
 * UTILISE PAR: OREMIA DESKTOP 
 * OBSOLETE A PARTIR DE LA VERSION: 1.9.3
 * ****************************************EXEMPLE****************************************************
 * URL: https://licences.oremia.com/licences/checkSetup.php?id=1000
 * PRINT: {"serial":"c345c3f2f0b817159f23f9f6a2027711","licences":[1,2,3],"teletrans":[null,null],"dates":["2013-12-31"]}
 */
header ( "Access-Control-Allow-Origin: *" );
$filename = "./passwd.txt";
if (file_exists ( $filename )) {
	// fichier existe, on recupere le dernier numero de licence
	$fp = fopen ( $filename, "r" ); // lecture du fichier
	$pass = fgets ( $fp ); // lecture du contenu de la ligne
	fclose ( $fp );
}
if (isset ( $_GET ['id'] ) && $_GET ['id'] >= 1000) {
	try {
		
		$pdo_options [PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
		
		$bdd = new PDO ( "mysql:host=localhost;dbname=serveurlicence", 'root', $pass, $pdo_options ); // Connexion bdd
		
		$return = $bdd->prepare ( 'SELECT idlicence_type FROM licences WHERE idpraticien = :id ORDER BY idlicence_type' ); // Préparation de la requête pour récupérer les id de licences
		$return->bindValue ( ':id', $_GET ['id'], PDO::PARAM_INT ); // On passe l'id récupérer dans l'url en paramètre dans la requete
		$return->execute (); // execution de la requete
		
		$count = $return->rowCount ();
		
		if ($count == 0) // On vérifie qu'il y ait des licences sur le compte
{
			echo 'Pas de licence';
		} 

		else {
			$licences = array ();
			/**
			 * ***************Création de l'array contenant l'id des licences****************
			 */
			while ( $donnees = $return->fetch () ) {
				array_push ( $licences, intval ( $donnees ['idlicence_type'] ) );
			}
			
			$rep2 = $bdd->query ( 'SELECT date_fin  FROM licences WHERE idpraticien=' . $_GET ['id'] . ' AND idlicence_type LIKE "1%"' ); // Requete pour récupérer la date d'expiration du compte
			
			$dateFin = $rep2->fetch ();
			
			$dateFin = array (
					$dateFin ['date_fin'] 
			);
			
			/**
			 * ****** requete pour récupérer les informations pour la teletransmission*****************
			 */
			$rep3 = $bdd->query ( 'SELECT num_adeli, cle_licence  FROM praticiens WHERE id=' . $_GET ['id'] . '' );
			
			$teletrans = $rep3->fetch ();
			
			$teletrans = array (
					$teletrans ['num_adeli'],
					$teletrans ['cle_licence'] 
			);
			
			/**
			 * ******************Création du sérial!!!!! Secret Defense!!!!***************************
			 */
			$rep = $bdd->query ( 'SELECT nom, prenom  FROM praticiens WHERE id=' . $_GET ['id'] . '' );
			
			$client = $rep->fetch ();
			
			$date = new DateTime ();
			$dateJour = $date->format ( 'Y-m-d' );
			
					
			$nom = filter ( $client ['nom'] . $client ['prenom'] );
			
			$serial = md5 ( $_GET ['id'] . $nom . $dateJour . 'Oremi@' );
			/**
			 * ***********Création de l'objet json****************
			 */
			$objetJSON = array (
					'serial' => $serial,
					'licences' => $licences,
					'teletrans' => $teletrans,
					'dates' => $dateFin 
			);
			
			echo json_encode ( $objetJSON );
		}
	} catch ( PDOException $e ) 

	{
		// echo $e->getMessage();
		echo 'mauvais id';
	}
} else {
	// echo $e->getMessage();
	echo 'mauvais id';
}
/**
 * ***************Input: chaine de caractères; Output: Chaine de caractère sans accent, sans espace, en majuscule******************
 */
function filter($chaine) {
	$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
	$b = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
	$chaine = utf8_decode ( $chaine );
	$chaine = strtr ( $chaine, utf8_decode ( $a ), $b );

	$chaine = strtoupper ( $chaine );

	$chaine = preg_replace ( '/[^A-Z_]/', '', $chaine );

	return $chaine;
}
?>
